/**
 * Copyright (c) 2009  Collaborative Development Group, C.S. Dept., University of Bari
 *
 * All rights reserved. This program and the accompanying materials are made available under
 * the terms of the Eclipse Public License v1.0  which accompanies this distribution, and is 
 * available at http://www.eclipse.org/legal/epl-v10.html
 */
package it.uniba.di.cdg.jtalk.ui;

import it.uniba.di.cdg.jtalk.core.CoreConfig;
import it.uniba.di.cdg.jtalk.ui.login.LoginMVPConfig;
import it.uniba.di.cdg.penelope.CommonServicesConfig;
import it.uniba.di.cdg.penelope.ui.CommonUIConfig;
import it.uniba.di.cdg.penelope.ui.lnf.FormLookAndFeel;
import it.uniba.di.cdg.penelope.ui.lnf.FormToolkitWidgetFactory;
import it.uniba.di.cdg.penelope.ui.lnf.IWidgetFactory;

import com.google.inject.AbstractModule;

/**
 * Configuration for this plugin. 
 */
public class GUIModule extends AbstractModule {

	/* (non-Javadoc)
	 * @see com.google.inject.AbstractModule#configure()
	 */
	@Override
	protected void configure() {
//		install( osgiModule( Activator.getDefault().getBundleContext(), eclipseRegistry() ) );
		install( new CommonServicesConfig() );
		install( new CommonUIConfig() ); 
		install( new CoreConfig() );

		bind( IWidgetFactory.class ).annotatedWith( FormLookAndFeel.class ).to( FormToolkitWidgetFactory.class );

		install( new LoginMVPConfig() );
	}
}
